int WriteLoginData_client(mapping data, buffer buf, int start);
int WriteLoginData(mapping data, buffer buf, int start)
{
	mixed tmp;
	if ((!undefinedp(tmp = data["c"])) && mapp(tmp))
	{
		start = WriteLoginData_client((mapping)tmp, buf, start);
	}
	else
	{
		LOGERROR(("WriteLoginData Error! var c not find or type error! value:%s ", save_variable(tmp)));
		return -1;
	}

	if ((!undefinedp(tmp = data["ssints"])) && arrayp(tmp))
	{
		int l_t_0 = sizeof(tmp);
		start += write_buffer_7bitInt(buf, l_t_0, start);
		for (int l_t_1 = 0; l_t_1 < l_t_0; ++l_t_1)
		{
			mixed l_t_2 = tmp[l_t_1];
			if (arrayp(l_t_2))
			{
				int l_t_3 = sizeof(l_t_2);
				start += write_buffer_7bitInt(buf, l_t_3, start);
				for (int l_t_4 = 0; l_t_4 < l_t_3; ++l_t_4)
				{
					mixed l_t_5 = l_t_2[l_t_4];
					if (arrayp(l_t_5))
					{
						int l_t_6 = sizeof(l_t_5);
						start += write_buffer_7bitInt(buf, l_t_6, start);
						for (int l_t_7 = 0; l_t_7 < l_t_6; ++l_t_7)
						{
							mixed l_t_8 = l_t_5[l_t_7];
							if (intp(l_t_8))
							{
								write_buffer_int(buf, (int)l_t_8, start); start += 4;
							}
							else
							{
								LOGERROR(("WriteLoginData Error! var l_t_7 type error! value:%s ", save_variable(l_t_8)));
								return -1;
							}

						}
					}
					else
					{
						LOGERROR(("WriteLoginData Error! var l_t_4 type error! value:%s ", save_variable(l_t_5)));
						return -1;
					}

				}
			}
			else
			{
				LOGERROR(("WriteLoginData Error! var l_t_1 type error! value:%s ", save_variable(l_t_2)));
				return -1;
			}

		}
	}
	else
	{
		LOGERROR(("WriteLoginData Error! var ssints not find or type error! value:%s ", save_variable(tmp)));
		return -1;
	}

	if ((!undefinedp(tmp = data["clientmap"])) && mapp(tmp))
	{
		int l_t_11 = sizeof(tmp);
		start += write_buffer_7bitInt(buf, l_t_11, start);
		foreach (mixed l_t_9, mixed l_t_10 in tmp)
		{
			if (mapp(l_t_9))
			{
				start = WriteLoginData_client((mapping)l_t_9, buf, start);
			}
			else
			{
				LOGERROR(("WriteLoginData Error! var l_t_9 type error! value:%s ", save_variable(l_t_9)));
				return -1;
			}

			if (stringp(l_t_10))
			{
				start += write_buffer_string(buf, (string)l_t_10, start);
			}
			else
			{
				LOGERROR(("WriteLoginData Error! var l_t_10 type error! value:%s ", save_variable(l_t_10)));
				return -1;
			}

		}
	}
	else
	{
		LOGERROR(("WriteLoginData Error! var clientmap not find or type error! value:%s ", save_variable(tmp)));
		return -1;
	}

	if ((!undefinedp(tmp = data["unit1"])) && intp(tmp))
	{
		write_buffer_int(buf, (int)tmp, start); start += 4;
	}
	else
	{
		LOGERROR(("WriteLoginData Error! var unit1 not find or type error! value:%s ", save_variable(tmp)));
		return -1;
	}

	if ((!undefinedp(tmp = data["char1"])) && intp(tmp))
	{
		write_buffer_char(buf, (int)tmp, start); start += 1;
	}
	else
	{
		LOGERROR(("WriteLoginData Error! var char1 not find or type error! value:%s ", save_variable(tmp)));
		return -1;
	}

	if ((!undefinedp(tmp = data["uchar1"])) && intp(tmp))
	{
		write_buffer_uchar(buf, (int)tmp, start); start += 1;
	}
	else
	{
		LOGERROR(("WriteLoginData Error! var uchar1 not find or type error! value:%s ", save_variable(tmp)));
		return -1;
	}

	if ((!undefinedp(tmp = data["short1"])) && intp(tmp))
	{
		write_buffer_ushort(buf, (int)tmp, start); start += 2;
	}
	else
	{
		LOGERROR(("WriteLoginData Error! var short1 not find or type error! value:%s ", save_variable(tmp)));
		return -1;
	}

	if ((!undefinedp(tmp = data["ushort1"])) && intp(tmp))
	{
		write_buffer_ushort(buf, (int)tmp, start); start += 2;
	}
	else
	{
		LOGERROR(("WriteLoginData Error! var ushort1 not find or type error! value:%s ", save_variable(tmp)));
		return -1;
	}

	return start;
}
int WriteLoginData_client(mapping data, buffer buf, int start)
{
	mixed tmp;
	if ((!undefinedp(tmp = data["ip"])) && stringp(tmp))
	{
		start += write_buffer_string(buf, (string)tmp, start);
	}
	else
	{
		LOGERROR(("WriteLoginData_client Error! var ip not find or type error! value:%s ", save_variable(tmp)));
		return -1;
	}

	if ((!undefinedp(tmp = data["valueList"])) && arrayp(tmp))
	{
		int l_t_12 = sizeof(tmp);
		start += write_buffer_7bitInt(buf, l_t_12, start);
		for (int l_t_13 = 0; l_t_13 < l_t_12; ++l_t_13)
		{
			mixed l_t_14 = tmp[l_t_13];
			if (intp(l_t_14))
			{
				write_buffer_int(buf, (int)l_t_14, start); start += 4;
			}
			else
			{
				LOGERROR(("WriteLoginData_client Error! var l_t_13 type error! value:%s ", save_variable(l_t_14)));
				return -1;
			}

		}
	}
	else
	{
		LOGERROR(("WriteLoginData_client Error! var valueList not find or type error! value:%s ", save_variable(tmp)));
		return -1;
	}

	return start;
}
int ReadLoginData_client(mapping data, buffer buf, int start);
int ReadLoginData(mapping data, buffer buf, int start)
{
	mixed tmp;
	tmp = ([]);
	start = ReadLoginData_client(tmp, buf, start);
	data["c"] = (mapping)tmp;

	{
		mixed *l_t_0 = read_buffer_7bitInt(buf, start);
		start += l_t_0[0];
		tmp = allocate(l_t_0[1]);
		data["ssints"] = (mixed *)tmp;
		for (int l_t_1 = 0; l_t_1 < l_t_0[1]; ++l_t_1)
		{
			mixed l_t_2;
			{
				mixed *l_t_3 = read_buffer_7bitInt(buf, start);
				start += l_t_3[0];
				l_t_2 = allocate(l_t_3[1]);
				tmp[l_t_1] = (mixed *)l_t_2;
				for (int l_t_4 = 0; l_t_4 < l_t_3[1]; ++l_t_4)
				{
					mixed l_t_5;
					{
						mixed *l_t_6 = read_buffer_7bitInt(buf, start);
						start += l_t_6[0];
						l_t_5 = allocate(l_t_6[1]);
						l_t_2[l_t_4] = (mixed *)l_t_5;
						for (int l_t_7 = 0; l_t_7 < l_t_6[1]; ++l_t_7)
						{
							mixed l_t_8;
							l_t_8 = read_buffer_int(buf, start);
							start += 4;
							l_t_5[l_t_7] = (int)l_t_8;

						}
					}

				}
			}

		}
	}

	{
		mixed *l_t_9 = read_buffer_7bitInt(buf, start);
		start += l_t_9[0];
		tmp = allocate_mapping(l_t_9[1]);
		data["clientmap"] = (mapping)tmp;
		for (int l_t_10 = 0; l_t_10 < l_t_9[1]; ++l_t_10)
		{
			mixed l_t_11, l_t_12;
			l_t_11 = ([]);
			start = ReadLoginData_client(l_t_11, buf, start);
			l_t_12 = read_buffer_string(buf, start);
			start += l_t_12[0];
			l_t_12 = l_t_12[1];
			tmp[l_t_11] = l_t_12;
		}
	}

	tmp = read_buffer_int(buf, start);
	start += 4;
	data["unit1"] = (int)tmp;

	tmp = read_buffer_char(buf, start);
	start += 1;
	data["char1"] = (int)tmp;

	tmp = read_buffer_uchar(buf, start);
	start += 1;
	data["uchar1"] = (int)tmp;

	tmp = read_buffer_short(buf, start);
	start += 2;
	data["short1"] = (int)tmp;

	tmp = read_buffer_ushort(buf, start);
	start += 2;
	data["ushort1"] = (int)tmp;

	return start;
}

int ReadLoginData_client(mapping data, buffer buf, int start)
{
	mixed tmp;
	tmp = read_buffer_string(buf, start);
	start += tmp[0];
	tmp = tmp[1];
	data["ip"] = (string)tmp;

	{
		mixed *l_t_0 = read_buffer_7bitInt(buf, start);
		start += l_t_0[0];
		tmp = allocate(l_t_0[1]);
		data["valueList"] = (mixed *)tmp;
		for (int l_t_1 = 0; l_t_1 < l_t_0[1]; ++l_t_1)
		{
			mixed l_t_2;
			l_t_2 = read_buffer_int(buf, start);
			start += 4;
			tmp[l_t_1] = (int)l_t_2;
		}
	}

	return start;
}